package basics.day15.stringDemoDemo1;

public class Test {
    public static void main(String[] args) {
//        fun_1("arfQEWRQWER12341234");
//        System.out.println(fun_2("wqe321fafwqe12dasf"));
        System.out.println(fun_3("java,java,jvav,va", "java"));
    }

    /*
     * 查询字符串中大写字母个数  小写字母个数 数字个数
     * */
    public static void fun_1(String s) {
        int upper = 0;
        int lower = 0;
        int digit = 0;

        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            /*
             * 小写字母对应的编码表 97 - 122
             * 大写字母对应的编码表 65 - 90
             * 数字对应的编码表 48 - 57
             * */


//            if (c >= 97 && c <= 122) {
//                lower++;
//            } else if (c >= 65 && c <= 90) {
//                upper++;
//            } else if (c >= 48 && c <= 57) {
//                digit++;
//            }

            // 或者

            if (c >= 'a' && c <= 'z') {
                lower++;
            } else if (c >= 'A' && c <= 'Z') {
                upper++;
            } else if (c >= '0' && c <= '9') {
                digit++;
            }
        }
        System.out.println("小写字母个数：" + lower);
        System.out.println("大写字母个数：" + upper);
        System.out.println("数字个数：" + digit);
    }

    /*
     * 将字符串转成第一个字母大写，其他小写
     * */

    public static String fun_2(String s) {
        String firstCase = s.substring(0, 1);
        String secondCase = s.substring(1);
        firstCase = firstCase.toUpperCase();
        secondCase = secondCase.toLowerCase();
        return firstCase + secondCase;

    }

    /*
     * 计算出一个字符串中存在多少个字符串
     * */
    public static int fun_3(String s, String search) {
        int i = 0;
        int index = 0;
        while (true) {
            if (s.indexOf(search, index) == -1) {
                break;
            }else {
                i++;
                index = s.indexOf(search, index) + search.length();
            }
        }
        return i;
    }
}
